﻿using BCCommon.Enums;
using BCCommon.OAEnums;
using System;

namespace BCEntity.OA.TeamWorks.TaskRecord
{
    /// <summary>
    /// 任务记录（基础）
    /// </summary>
    public class TaskRecordEntity
    {
        /// <summary>
        /// 任务记录编号
        /// </summary>
        public string TaskRecordNo { get; set; }

        /// <summary>
        /// 工作流活动Id
        /// </summary>
        public long WorkflowActivityId { get; set; }

        /// <summary>
        /// 工作流活动实例Id
        /// </summary>
        public long WorkflowActivityInstanceId { get; set; }

        /// <summary>
        /// 任务分类(部门经理、财务、总经理、协同工作、业务)
        /// </summary>
        public OATaskCategoryType TaskCategory { get; set; }

        /// <summary>
        /// 业务类型
        /// </summary>
        public string BusinessType { get; set; }
       
        /// <summary>
        /// 业务类型名称
        /// </summary>
        public string BusinessTypeName { get; set; }

        /// <summary>
        /// 任务备注
        /// </summary>
        public string TaskRemark { get; set; }

        /// <summary>
        /// 处理状态(待处理、已处理、被驳回、已挂起、已关闭)
        /// </summary>
        public OATaskHandleStatus HandleStatus { get; set; }

        /// <summary>
        /// 关联任务编号
        /// </summary>
        public string RelevantTaskRecordNo { get; set; }

        /// <summary>
        /// 任务开始日期
        /// </summary>
        public DateTime? StartTime { get; set; }
        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? CompleteTime { get; set; }
        /// <summary>
        /// 暂停时间
        /// </summary>
        public DateTime? PauseTime { get; set; }
        /// <summary>
        /// 暂停备注
        /// </summary>
        public string PauseRemark { get; set; }

        /// <summary>
        /// 任务当前步骤
        /// </summary>
        public int? CurrentlyStep { get; set; }

        /// <summary>
        /// 任务执行人管理员Id
        /// </summary>
        public long? TaskExecuterAdminId { get; set; }

        /// <summary>
        /// 任务执行人管理员姓名
        /// </summary>
        public string TaskExecuterFullName { get; set; }

        /// <summary>
        /// 公司Id
        /// </summary>
        public int? CompanyId { get; set; }

        /// <summary>
        /// 角色类型
        /// </summary>
        public RoleType? RoleType { get; set; }

        /// <summary>
        /// 下发时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        ///// <summary>
        ///// 可以关闭。
        ///// </summary>
        //public bool CanClose { get; set; }

        ///// <summary>
        ///// 可以驳回。
        ///// </summary>
        //public bool CanReject { get; set; }
    }
}
